<template>
  <div class="login" id="login">
    <div class="limiter">
      <div class="container-login100">
        <div class="wrap-login100">
          <span class="login100-form-title p-b-26">Gohigh视频平台</span>
          <span class="login100-form-title p-b-48">
            <i class="fa fa-video-camera"></i>
          </span>

          <div
            class="wrap-input100 validate-input"
            data-validate="Valid email is: a@b.c"
          >
            <input
              :class="'input100 ' + (username == '' ? '' : 'has-val')"
              type="text"
              v-model="username"
              name="username"
            />
            <span class="focus-input100" data-placeholder="用户名"></span>
          </div>

          <div
            class="wrap-input100 validate-input"
            data-validate="Enter password"
          >
            <span class="btn-show-pass">
              <i
                :class="'fa ' + (!showPassword ? 'fa-eye' : 'fa-eye-slash')"
                @click="showPassword = !showPassword"
              ></i>
            </span>
            <input
              :class="'input100 ' + (password == '' ? '' : 'has-val')"
              :type="!showPassword ? 'password' : 'text'"
              v-model="password"
              name="password"
            />
            <span class="focus-input100" data-placeholder="密码"></span>
          </div>

          <div class="container-login100-form-btn">
            <div class="wrap-login100-form-btn">
              <div class="login100-form-bgbtn"></div>
              <button class="login100-form-btn" @click="login">登录</button>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import crypto from 'crypto'
export default {
  name: 'Login',
  data(){
  	return {
      isLoging: false,
      showPassword: false,
  		username: '',
  		password: ''
  	}
  },
  created(){
    var that = this;
    document.onkeydown = function(e) {
      var key = window.event.keyCode;
      if (key == 13) {
        that.login();
      }
    }
  },
  methods:{

  	//登录逻辑
  	login(){
  		if(this.username!='' && this.password!=''){
  			this.toLogin();
  		}
  	},

  	//登录请求
  	toLogin(){

  		//一般要跟后端了解密码的加密规则
  		//这里例子用的哈希算法来自./js/sha1.min.js

  		//需要想后端发送的登录参数
  		let loginParam = {
  			username: this.username,
  			password: crypto.createHash('md5').update(this.password, "utf8").digest('hex')
  		}
      var that = this;
      //设置在登录状态
      this.isLoging = true;

      this.$axios({
      	method: 'get',
	      url:"/api/user/login",
        params: loginParam
      }).then(function (res) {
        console.log(JSON.stringify(res));
          if (res.data == "success") {
            that.$cookies.set("session", {"username": that.username}) ;
            //登录成功后
            that.cancelEnterkeyDefaultAction();
            that.$router.push('/');
          }else{
            that.isLoging = false;
            that.$message({
                  showClose: true,
                  message: '登录失败，用户名或密码错误',
                  type: 'error'
              });
          }
      }).catch(function (error) {
        that.$message.error(error.response.data.msg);
        that.isLoging = false;
      });
    },
    setCookie: function (cname, cvalue, exdays) {
      var d = new Date();
      d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
      var expires = "expires=" + d.toUTCString();
      console.info(cname + "=" + cvalue + "; " + expires);
      document.cookie = cname + "=" + cvalue + "; " + expires;
      console.info(document.cookie);
    },
    cancelEnterkeyDefaultAction: function() {
        document.onkeydown = function(e) {
        var key = window.event.keyCode;
        if (key == 13) {
          return false;
        }
      }
    }
  }
}
</script>

